Haluan poistaa haaran sekä paikallisesti että etänä. Epäonnistuneet yritykset poistaa etähaara $ git -haara -d kaukosäätimet / alkuperä / virhekorjaus virhe: haaraa 'remotes / origin / bugfix' ei löydy. $ git -haara -d alkuperä / virhekorjaus virhe: haaraa 'origin / bugfix' ei löydy. $ git -haara -rd alkuperä / virhekorjaus Poistettiin haaran etäinen alkuperä / virhekorjaus (oli 2a14ef7). $ git push Kaikki ajan tasalla $ git pull Lähettäjä github.com: gituser/gitproject * [uusi haara] virhekorjaus -> alkuperä / virhekorjaus Jo ajan tasalla. Mitä minun pitäisi tehdä eri tavalla poistaaksesi kaukosäätimet / alkuperä / virhekorjaukset haarasta sekä paikallisesti että etänä?
2020-12-07 13:11:58
1 2 Seuraava Tiivistelmä $ git push -d$ git -haara -d Huomaa, että useimmissa tapauksissa etänimi on alkuperä. Tällöin sinun on käytettävä komentoa niin. $ git push -d alkuperä Poista paikallinen haara Poista paikallinen sivuliike jollakin seuraavista tavoista: $ git haara -d haaran_nimi $ git haara -D haaran_nimi Huomaa: -d -vaihtoehto on aliakseksi --delete, joka poistaa haaran vain, jos se on jo yhdistetty kokonaan sen ylävirran haaraan. Voit käyttää myös -D: tä, joka on aliakseksi --delete --forcelle, joka poistaa haaran "riippumatta sen yhdistetystä tilasta". [Lähde: man git-branch] Huomaa myös, että git-haara -d haaran_nimi epäonnistuu, jos olet tällä hetkellä haarassa, jonka haluat poistaa. Viesti alkaa virhe: haaraa haaran_nimi ei voida poistaa. Jos on, vaihda ensin johonkin muuhun haaraan, esimerkiksi: git checkout master. Poista etähaara [Päivitetty 8.9.2017] Git v1.7.0: sta alkaen voit poistaa etähaaran käyttämällä $ git push - poista mikä voi olla helpompi muistaa kuin $ git push : joka lisättiin Git v1.5.0: een "etähaaran tai tunnisteen poistamiseksi". Alkaen Git v2.8.0: sta, voit myös käyttää git push -d -vaihtoehtoa aliaksena --delete. Siksi asentamasi Git-versio sanelee, onko sinun käytettävä helpompaa vai vaikeampaa syntaksia. Poista etähaara [alkuperäinen vastaus 5. tammikuuta-2010] Scott Chaconin Pro Gitin luvusta 3: Etähaarojen poistaminen Oletetaan, että olet valmis etähaaran kanssa - sanotaan, että sinä ja yhteistyökumppanisi ovat valmiit käyttämään ominaisuutta ja yhdistäneet sen kaukosäätimen päähaaraan (tai mihin tahansa haaraan vakaa koodirivisi on). Voit poistaa etähaaran käyttämällä melko tylpää syntaksi git push [etätunnus]: [haara]. Jos haluat poistaa palvelinkorjauksen haaran palvelimelta, suoritat seuraavaa: $ git push -alku: serverfix Osoitteeseen git@github.com: schacon / simplegit.git - [poistettu] palvelinkorjaus Puomi. Ei enää haaroja palvelimellasi. Haluat ehkä kuulla tämän sivun, koska tarvitset kyseisen komennon, ja unohdat todennäköisesti syntaksin. Tapa muistaa tämä komento on palauttaa mieleen git push [etätunnus] [paikallinen haara]: [kauko-haara] -syntaksi, jonka kävelimme hieman aiemmin. Jos jätät [paikallinen sivuliike] -osan pois, sanot periaatteessa: "Älä ota mitään puolelleni ja tee siitä [etähanke]." Annoin git push -alku: virhekorjaus ja se toimi kauniisti. Scott Chacon oli oikeassa - haluan koiran korvata kyseisen sivun (tai käytännössä koiran korvan vastaamalla tähän Stack Overflow -sivulla). Sitten sinun tulisi suorittaa tämä muilla koneilla # Hae muutokset kaikista kaukosäätimistä ja poista paikallisesti # etäpoistettua haaraa / tunnistetta jne # --kuumu tekee työn: -; git nouto - kaikki - luumu levittää muutoksia. | Matthew'n vastaus on hieno syrjäisten haarojen poistamiseksi, ja arvostan myös selitystä, mutta tehdäksesi yksinkertaisen eron näiden kahden komennon välillä: Paikallisen haaran poistaminen koneeltasi: git-haara -d {the_local_branch} (käytä -D sen sijaan pakottaaksesi haaran poistamisen tarkistamatta yhdistetyn tilan) Etähaaran poistaminen palvelimelta: git push -alku - poista {the_remote_branch} Viite: Git: Poista haara (paikallinen tai etäinen) | Lyhyet vastaukset Jos haluat tarkempia selityksiä seuraavista komennoista, katso pitkät vastaukset seuraavasta osasta. Etähaaran poistaminen git push -alku - poista # Git-versio 1.7.0 tai uudempi git push origin -d # Lyhyempi versio (Git 1.7.0 tai uudempi) git push -alku: # Git-versiot, jotka ovat vanhempia kuin 1.7.0 Paikallisen sivuliikkeen poistaminen git-haara - poista git branch -d # Lyhyempi versio git-haara -D # Pakota poistamatta yhdistämättömät haarat Paikallisen etäseurannan haaran poistaminen git branch --delete --remotes / git-haara -dr / # Lyhyempi git fetch --prune # Poista useita vanhentuneita etäseurannan haaroja git hae -p # Lyhyempi Pitkä vastaus: Poistettavia haaroja on kolme! Kun käsittelet haarojen poistamista sekä paikallisesti että etänä, pidä mielessä, että mukana on kolme eri haaraa: Paikallinen haara X. Etäkohteen haara X. Paikallinen etäseurannan haarakohta / X, joka seuraa etähaaraa X. Alkuperäinen käytetty juliste: git-haara -rd alkuperä / virhekorjaus Mikä vain poisti hänen paikallisen etähallinnan haaran alkuperän / virhekorjauksen, eikä varsinaisen etähaaran virhekorjauksen alkuperästä. Tarvitset varsinaisen etähaaran poistamiseksi git push -alku - poista virhekorjaus Lisätiedot Seuraavissa osissa kuvataan lisätietoja, jotka on otettava huomioon etä- ja etäseurannan haaroja poistettaessa. Etähaarojen poistaminen työntämällä poistaa myös etäseurannan haarat Huomaa, että etähaaran X poistaminen komentoriviltägit push -toiminnon käyttäminen poistaa myös paikallisen etäseurannan haaran alkuperän / X, joten vanhentunutta etäseurannan haaraa ei tarvitse karsia git-haulla --prune tai git fetch -p. Ei kuitenkaan haittaa, jos teet sen joka tapauksessa. Voit varmistaa, että myös etäseurannan haaran alkuperä / X poistettiin suorittamalla seuraava: # Näytä vain etäseurannan haarat git-haara - kaukosäätimet git-haara -r # Tarkastele sekä tiukasti paikallisia että etäseurannan haaroja git-haara - kaikki git-haara -a Vanhentuneen paikallisen etäseurannan haaran alkuperän karsiminen / X Jos et poistanut etähaaraa X komentoriviltä (kuten yllä), paikallinen tietovarastosi sisältää edelleen (nyt vanhentuneen) etäseurannan haaran alkuperän / X. Näin voi käydä, jos poistat etähaaran esimerkiksi GitHubin verkkokäyttöliittymän kautta. Tyypillinen tapa poistaa nämä vanhentuneet etäseurantahaarat (Git-versiosta 1.6.6 lähtien) on yksinkertaisesti suorittaa git-haku hakemistolla --prune tai lyhyempi -p. Huomaa, että tämä poistaa kaikki vanhentuneet paikalliset etäseurantahaarat kaikista etähaaroista, joita kaukosäätimessä ei enää ole: git hae alkuperä - luumu git hae alkuperä -p # Lyhyempi Tässä on asiaankuuluva lainaus 1.6.6-julkaisutiedoista (painopiste minun): "git fetch" oppinut - kaikki ja - useita vaihtoehtoja, joiden suorittamiseksi hakeminen on suoritettava monet arkistot ja --prune -vaihtoehto etäseurannan poistamiseksi oksat, jotka olivat vanhentuneet. Nämä tekevät "git-etäpäivityksen" ja "git karsia "vähemmän välttämätöntä (kauko - ohjainta ei ole tarkoitus poistaa) päivitä "eikä" kauko-luumu ". Vaihtoehto vanhentuneille etäseurannan haaroille automaattisen karsinnan yllä Vaihtoehtoisesti sen sijaan, että karsit vanhentuneita paikallisia etäseurannan haaroja git fetch -p: n kautta, voit välttää ylimääräisen verkkotoiminnon tekemisen poistamalla haaran manuaalisesti --remote- tai -r-lipuilla: git-haara --poista - kaukosäädin alkuperä / X git-haara -dr alkuperä / X # Lyhyempi Katso myös git-branch (1) Manuaalinen sivu. git-fetch (1) Manuaalinen sivu. Pro Git § 3.5 Git-haaroitus - etähaarat. | Vaiheet sivuliikkeen poistamiseksi: Etähaaran poistaminen: git push -alku - poista Voit poistaa paikallisen haaran kolmella tavalla: 1: git-haara -D 2: git branch --delete --force # Sama kuin -D 3: git branch --delete # Virhe yhdistämisen yhteydessä Selitä: OK, selitä vain mitä täällä tapahtuu! Yksinkertaisesti tee git push -alku - poista poistaaksesi vain etäkonttorin, lisää haaran nimi loppuun ja tämä poistaa ja työntää sen samanaikaisesti ... Git-haara -D, joka yksinkertaisesti poistaa vain paikallisen haaran! ... -D tarkoittaa --delete --force, joka poistaa haaran, vaikka sitä ei olisikaan yhdistetty (pakota poisto), mutta voit myös käyttää -d, joka tarkoittaa --delete, joka heijastaa haaran yhdistämistilan virheen ... Luon myös alla olevan kuvan näyttämään vaiheet: | Voit käyttää seuraavaa myös etähaaran poistamiseen git push --poista alkuperäisen palvelimen korjaus Joka tekee saman asian kuin git push -alku: serverfix mutta se voi olla helpompi muistaa. | Vinkki: Kun poistat haarat käyttämällä git branch -d # Poistaa paikallisen haaran tai git push -alku: # Poistaa etähaaran vain viitteet poistetaan. Vaikka haara todella poistetaan kaukosäätimestä, viitteet siihen ovat edelleen tiimisi jäsenten paikallisissa arkistoissa. Tämä tarkoittaa, että muille tiimin jäsenille poistetut oksat ovat edelleen näkyvissä, kun he tekevät git-haaran -a. Tämän ratkaisemiseksi tiimisi jäsenet voivat karsia poistetut oksat git kauko-luumu Tämä on tyypillisesti git-kauko-ohjelmaa. | Jos haluat poistaa haaran, maksa ensin muu haara kuin poistettava haara. git checkout other_than_branch_to_be_deleted Paikallisen sivuliikkeen poistaminen: git-haara -D branch_to_be_deleted Etähaaran poistaminen: git push -alku - poista haara_to_be_poistettu | git-haara -D git push -alku: | Tämä on yksinkertaista: Suorita vain seuraava komento: Jos haluat poistaa Git-haaran sekä paikallisesti että etänä, poista ensin paikallinen haara tällä komennolla: git-haara -d esimerkki (Tässä esimerkissä on sivuliikkeen nimi.) Ja sen jälkeen poista etähaara tällä komennolla: git push -alku: esimerkki | Se on hyvin yksinkertaista: Etähaaran poistaminen git push -d alkuperä Tai git push -alku: Paikallisen sivuliikkeen poistaminen pakolla git-haara -D | Toinen lähestymistapa on: git push - luumu alkuperä VAROITUS: Tämä poistaa kaikki etähaarat, joita ei ole paikallisesti. Tai kattavammin, git push - peili tekee tehokkaasti etätietovaraston näyttävän arkiston paikalliselta kopiolta (paikalliset päät, kaukosäätimet ja tunnisteet ovat peilattuina kauko-ohjaimessa). | Käytän seuraavia Bash-asetuksissani: alias git-shoot = "git pushalkuperä --poista " Sitten voit soittaa: git-shoot-haaranimi | Poista paikallisesti: Voit poistaa paikallisen konttorin käyttämällä: git-haara -d Poista haara väkisin käyttämällä -D: n sijasta -d. git-haara -D Poista etänä: On olemassa kaksi vaihtoehtoa: git push -alku: haaranimi git push -alku - poista haaranimi Ehdotan, että käytät toista tapaa, koska se on intuitiivisempi. | Tammikuusta 2013 lähtien GitHub sisällytti Poista haara -painikkeen jokaisen haaran viereen "Oksat" -sivullesi. Asiaankuuluva blogiviesti: Luo ja poista haaroja | Jos haluat suorittaa molemmat vaiheet yhdellä komennolla, voit tehdä sille aliaksen lisäämällä alla olevan ~ / .gitconfig-tiedostoon: [alias] rmbranch = "! f () {git branch -d $ {1} && git push origin --delete $ {1};}; f" Vaihtoehtoisesti voit lisätä tämän globaaliin kokoonpanoon komentoriviltä git config --global alias.rmbranch \ '! f () {git branch -d $ {1} && git push origin --delete $ {1}; }; f ' HUOMAUTUS: Jos käytät -d (pieni d), haara poistetaan vain, jos se on yhdistetty. Jos haluat pakottaa poiston tapahtumaan, sinun on käytettävä -D (isot kirjaimet D). | Haaran poistaminen paikallisesti ja etänä Kassalle päähaara - git kassan päällikkö Poista etähaara - git push -alku - poista Poista paikallinen haara - git branch --delete | Voit tehdä tämän myös käyttämällä git-kauko-ohjelmaa $ git kauko-luumu alkuperä Leikkauksen alkuperä URL-osoite: git@example.com/ourourepo.git * [karsittu] alkuperä / jotkut oksat Se leikkaa ja poistaa etäseurannan haarat git branch -r -luettelosta. | Muiden vastausten lisäksi käytän usein git_remote_branch-työkalua. Se on ylimääräinen asennus, mutta se antaa sinulle kätevän tavan olla vuorovaikutuksessa etäkonttoreiden kanssa. Poista tässä tapauksessa: grb poista haara Huomaan, että käytän myös julkaisu- ja seurantakomentoja melko usein. | Yhden linjan komento poistaa sekä paikallinen että kauko-ohjain: D = haaran nimi; git-haara -D $ D; git push -alku: $ D Tai lisää alla oleva alias ~ / .gitconfig-tiedostoosi. Käyttö: git kill branch-name [alias] kill = "! f () {git-haara -D \" $ 1 \ "; git push -alku --poista \" $ 1 \ ";}; f" | Haarojen poistaminen Oletetaan, että työmme haaran "yhteydenottolomakkeella" on tehty ja olemme jo integroineet sen "masteriin". Koska emme enää tarvitse sitä, voimme poistaa sen (paikallisesti): $ git -haara -d-yhteydenottolomake Ja etähaaran poistamiseksi: git push -alku - poista yhteydenottolomake | Poista etähaara git push -alku: Poista paikallinen haara git-haara -D Poista paikallisen haaran vaiheet: kassalla toiseen sivukonttoriin poista paikallinen haara | Yksinkertaisesti sanoa: git-haara -d git push -alku: | git push -alku - poista on helpompi muistaa kuin git push -alku: branchName | Nyt voit tehdä sen GitHub Desktop -sovelluksella. Sovelluksen käynnistämisen jälkeen Napsauta haaran sisältävää projektia Vaihda haaraan, jonka haluat poistaa Valitse "Branch" -valikosta "Unpublish ...", jolloin haara poistetaan GitHub-palvelimista. Valitse "Branch" -valikosta "Delete" branch_name "...", jotta haara poistetaan paikallisesta koneesta (AKA kone, jolla parhaillaan työskentelet) | Paikallinen poistaminen - (normaali) git-haara -d my_branch Jos haarasi on uudelleenkäynnistys- / yhdistämisvaiheessa ja sitä ei tehty oikein, se tarkoittaa, että saat virheen, uudelleenkäynnistys / yhdistäminen on käynnissä, joten siinä tapauksessa et voi poistaa haaraa. Joten joko sinun on ratkaistava uudelleenlaskenta / yhdistäminen. Muussa tapauksessa voit pakottaa poistamisen käyttämällä git-haara -D my_branch Poista kauko-ohjaimella: git push - poista alkuperä my_branch Voit tehdä saman käyttämällä: git push -alku: my_branch # Helppo muistaa, että molemmat tekevät saman. Graafinen esitys: | Tämä ei toimi, jos sinulla on tunniste, jolla on sama nimi kuin kaukosäätimen haaralla: $ git push -alku: branch-or-tag-name virhe: dst refspec haara- tai taginimi vastaa useampaa kuin yhtä. virhe: joitain viitteitä ei voitu lähettää osoitteeseen git@github.com: SomeName / some-repo.git Siinä tapauksessa sinun on määritettävä, että haluat poistaa haaran, ei tagia: git push -alku: refs / heads / branch-or-tag-name Vastaavasti tagin poistaminen käyttämäsi haaran sijasta: git push -alku: refs / tags / branch-or-tag-name | Monet muut vastaukset johtavat virheisiin / varoituksiin. Tämä lähestymistapa on suhteellisen typerä todiste, vaikka saatat silti tarvita git-haaraa -D branch_to_delete, ellei sitä ole täysin sulautettu esimerkiksi some_other_branchiin. git checkout jokin muu_haara git push -alku: branch_to_delete git-haara -d branch_to_delete Etäkarsintaa ei tarvita, jos poistat etähaaran. Sitä käytetään vain ajan tasalla olevien kaukosäätimien saamiseen seurattavassa arkistossa. Olen havainnut, että git-nouto lisää kaukosäätimiä, ei poista niitä. Tässä on esimerkki siitä, milloin git-kauko-luumu-lähtö todella tekee jotain: Käyttäjä Asuorittaa yllä olevat vaiheet. Käyttäjä B suorittaa seuraavat komennot nähdäksesi ajan tasalla olevat etähaarat: git noutaa git kauko-luumu alkuperä git-haara -r | Sain sairastua Googlen vastauksen kirjoittamiseen, joten otin samanlaisen lähestymistavan vastaukseen, jonka crizCraig lähetti aiemmin. Lisäsin seuraavat Bash-profiiliini: funktio gitdelete () { git push -alku - poista $ 1 git-haara -D $ 1 } Sitten joka kerta, kun olen valmis haaraan (esimerkiksi sulautettu masteriin), suoritan terminaalissani seuraavat: gitdelete oma haara-nimi ... joka sitten poistaa minun haara-nimen alkuperästä sekä paikallisesti. | Ennen suorittamista git-haara - poista varmista, että määrität ensin etäkonttorin tarkan nimen suorittamalla: git ls-kaukosäädin Tämä kertoo, mitä syötetään tarkalleen -arvolle. (haara eroaa isoista ja pienistä kirjaimista!) | Käyttää: git push origin: bugfix # Poistaa etähaaran git branch -d bugfix # Paikallinen haara on poistettava manuaalisesti Jos olet varma, että haluat poistaa sen, suorita git-haara -D-virhekorjaus Nyt puhdistaa poistetut etähaarat ajaa git kauko-luumu alkuperä | 1 2 Seuraava Erittäin aktiivinen kysymys. Ansaitse 10 mainetta vastaamiseksi tähän kysymykseen. Maineen vaatimus auttaa suojaamaan tätä kysymystä roskapostilta ja vastaamattomuudelta. Eikö vastausta etsit? Selaa muita kysymyksiä, jotka on merkitty koodilla git version-control git-branch git-push git-remote tai kysy oma kysymyksesi.